package com.itheima.dubbo.service.impl;

import com.itheima.dubbo.HelloFace;
import com.itheima.dubbo.pojo.User;
import org.apache.dubbo.config.annotation.DubboService;

/**
 * @authar by xiecong
 * @Date 2022/3/26
 * @Description 配置优先级问题：
 * 相同级别：消费方 > 服务方
 * 不同同级别：方法>接口>通用
 * 配置原则设计目的：
 * 1.先配置服务提供方配置
 * 2.若提供方配置在消费方不满足使用，则可以在消费方优化
 */
@DubboService(version = "1.0.0")  //服务提供方
//@DubboService(timeout = 1000,retries = 2)  //服务提供方 超时时间默认1秒，通过timeout修改,重试次数默认2
//@DubboService(methods = {@Method(name = "hello", timeout = 1000)}) //方法级别配置
public class HelloFaceImpl implements HelloFace {
    @Override
    public String hello(String name) {
        System.out.println("执行了。。。v1");
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "Hello Dubbo name:" + name;
    }

    @Override
    public User findByUsername(String username) {
        User user = new User();
        user.setUsername(username);
        return user;
    }
}
